package com.techsoul.module.contract.pojo.param;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;

import java.util.Date;

/**
 * 合同明细 保存参数
 * 
 * @author liuen
 * @date 2022-08-17
 */
@Data
@Accessors(chain = true)
public class ConContractItemSaveParam implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("ID")
    private String id;

    @ApiModelProperty("")
    private String itemNo;

    @ApiModelProperty("ref t_con_contract")
    private String contractId;

    @ApiModelProperty("")
    private String contractNo;

    @ApiModelProperty("")
    private String companyNo;

    @ApiModelProperty("")
    private Long consigneeId;

    @ApiModelProperty("")
    private String consigneeName;

    @ApiModelProperty("")
    private String supplierNo;

    @ApiModelProperty("")
    private String supplierName;

    @ApiModelProperty("")
    private String materialNo;

    @ApiModelProperty("")
    private String materialNoSap;

    @ApiModelProperty("物料名称，sap物料名称，zt新增字段，冗余字段")
    private String materialName;

    @ApiModelProperty("")
    private BigDecimal qty;

    @ApiModelProperty("")
    private String measUnit;

    @ApiModelProperty("")
    private BigDecimal price;

    @ApiModelProperty("价格单位，zt新增字段，unit_price弃用，容易和价格单位混淆")
    private String priceUnit;

    @ApiModelProperty("")
    private BigDecimal amount;

    @ApiModelProperty("税率，zt新增字段")
    private BigDecimal taxRate;

    @ApiModelProperty("不含税单价，zt新增字段")
    private BigDecimal untaxedPrice;

    @ApiModelProperty("不含税总价，zt新增字段")
    private BigDecimal untaxedAmount;

    @ApiModelProperty("税额，zt新增字段")
    private BigDecimal taxAmount;

    @ApiModelProperty("")
    private String guige;

    @ApiModelProperty("皮重，zt新增字段")
    private BigDecimal tare;

    @ApiModelProperty("件数，zt新增字段")
    private Long piecesNo;

    @ApiModelProperty("")
    private String packing;

    @ApiModelProperty("")
    private String packUnit;

    @ApiModelProperty("")
    private String packQty;

    @ApiModelProperty("是否商检，zt新增字段")
    private String isInspection;

    @ApiModelProperty("是否产地证，zt新增字段")
    private String isPlaceCert;

    @ApiModelProperty("托盘要求，zt新增字段")
    private String palletNoteText;

    @ApiModelProperty("")
    private Date activeFrom;

    @ApiModelProperty("")
    private Date activeTo;

    @ApiModelProperty("")
    private Long version;

    @ApiModelProperty("")
    private String serviceMaterial;

    @ApiModelProperty("")
    private BigDecimal unitPrice;

    @ApiModelProperty("")
    private String partyName;

    @ApiModelProperty("")
    private String partyAddress;

    @ApiModelProperty("")
    private String purpose;

    @ApiModelProperty("")
    private String quality;

    @ApiModelProperty("")
    private String lineStatus;

    @ApiModelProperty("")
    private String parentStatus;

    @ApiModelProperty("")
    private String paymentTerms;

    @ApiModelProperty("")
    private BigDecimal discountSum;

    @ApiModelProperty("")
    private BigDecimal discountUnitPrice;

    @ApiModelProperty("")
    private BigDecimal discountRate;

    @ApiModelProperty("")
    private BigDecimal requite;

    @ApiModelProperty("")
    private Date dateLimit;

    @ApiModelProperty("")
    private String address;

    @ApiModelProperty("")
    private String type;

    @ApiModelProperty("")
    private String fellBackDuty;

    @ApiModelProperty("")
    private String solveDisputedMethod;

    @ApiModelProperty("")
    private String noteText;

    @ApiModelProperty("")
    private String supplierSite;

    @ApiModelProperty("")
    private Long discountNeedQty;

    @ApiModelProperty("")
    private Date estDeliveryDate;

    @ApiModelProperty("")
    private BigDecimal totPlanedQty;

    @ApiModelProperty("")
    private String settledBasedOn;

    @ApiModelProperty("")
    private String shipByPackOrqty;

    @ApiModelProperty("")
    private BigDecimal remainedQuantity;

    @ApiModelProperty("")
    private Date estDepartTm;

    @ApiModelProperty("")
    private BigDecimal shippedQty;

    @ApiModelProperty("")
    private Long serviceType;

    @ApiModelProperty("")
    private BigDecimal weight;

    @ApiModelProperty("")
    private String weightMeasUnit;

    @ApiModelProperty("")
    private BigDecimal volume;

    @ApiModelProperty("")
    private String volumeMeasUnit;

    @ApiModelProperty("")
    private BigDecimal palletQty;

    @ApiModelProperty("")
    private String dengji;

    @ApiModelProperty("")
    private String insuranceType;

    @ApiModelProperty("")
    private String insuranceFeeRate;

    @ApiModelProperty("")
    private Date insuranceExpectTime;

    @ApiModelProperty("")
    private String insuranceName;

    @ApiModelProperty("")
    private Long insuranceExpense;

    @ApiModelProperty("")
    private BigDecimal loadExpense;

    @ApiModelProperty("")
    private BigDecimal packingExpense;

    @ApiModelProperty("")
    private BigDecimal restExpense;

    @ApiModelProperty("")
    private Long paymentTerm;

    @ApiModelProperty("")
    private String paymentType;

    @ApiModelProperty("")
    private String cargoFreightType;

    @ApiModelProperty("")
    private String departure;

    @ApiModelProperty("")
    private String departureAddr;

    @ApiModelProperty("")
    private String destination;

    @ApiModelProperty("")
    private String destinationAddr;

    @ApiModelProperty("")
    private String insuranceCompany;

    @ApiModelProperty("")
    private String contractType;

    @ApiModelProperty("")
    private Long relatedContractItemNo;

    @ApiModelProperty("")
    private Long materialProductBuyPublishItemNo;

    @ApiModelProperty("")
    private Long materialProductSalePublishItemNo;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("是否有效，数据字典 yn_type，1 表示是，0 表示否，默认0")
    private String isValid;

    @ApiModelProperty("创建人")
    private String createBy;

    @ApiModelProperty("创建时间")
    private Date createDate;

    @ApiModelProperty("更新人")
    private String updateBy;

    @ApiModelProperty("更新时间")
    private Date updateDate;

}
